package com.seafwg.store.service;

import com.seafwg.store.entity.User;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;

/**
 * @Author seafwg
 * @Date 2022/3/25 2:45 下午
 * @Version 1.0
 * @description xxx
 */

public interface IUserService {

    /**
     * 用户注册：
     * @param user
     */
    void register(User user);

    /**
     * 用户登录
     * @param user 登录的用户名，密码
     * @return 返回当前登录的用户信息，前端全局使用
     */
    User login(User user);

    /**
     * 更新密码
     * @param uid 用户uid
     * @param username 用户名
     * @param oldPassword 原有密码
     * @param newPassword 新密码
     */
    void changePassword(Integer uid, String username, String oldPassword, String newPassword);

    /**
     * 根据用户uid获取user对象
     * @param uid 用户uid
     * @return
     */
    User findUserByUid(Integer uid);

    /**
     * 更新用户信息
     * @param uid 用户uid
     * @param username 用户名
     * @param user 用户对象，前端传输参数
     */
    void changeUserInfo(Integer uid, String username, User user);

    /**
     * 根据用户uid修改头像
     * @param uid 用户uid
     * @param username 用户名
     * @param session 上传的file对象
     * @param file 上传的file对象
     */
    String changeAvatar(Integer uid, String username, HttpSession session, MultipartFile file);
}
